|
|
@@ -61,9 +61,11 @@ EOF
|
61
|
61
|
|
62
|
62
|
cat <<BOOTSTRAP > /tmp/bootstrap.sh
|
63
|
63
|
#!/bin/bash -xe
|
64
|
|
-# start mysql server if ${DATABASE_HOST} is localhost
|
65
|
|
-if [ "${DATABASE_HOST}" = "localhost" ]; then
|
66
|
|
- if [ "${DATABASE_ADAPTER}" = "postgres" ]; then
|
|
64
|
+source /app/.env
|
|
65
|
+
|
|
66
|
+# start mysql server if \${DATABASE_HOST} is localhost
|
|
67
|
+if [ "\${DATABASE_HOST}" = "localhost" ]; then
|
|
68
|
+ if [ "\${DATABASE_ADAPTER}" = "postgres" ]; then
|
67
|
69
|
echo "DATABASE_ADAPTER 'postgres' is not supported internally. Please provide DATABASE_HOST."
|
68
|
70
|
exit 1
|
69
|
71
|
fi
|
|
|
@@ -96,20 +98,20 @@ EOF
|
96
|
98
|
|
97
|
99
|
# wait for mysql server to start (max 120 seconds)
|
98
|
100
|
timeout=120
|
99
|
|
- while ! mysqladmin -uroot ${DATABASE_PASSWORD:+-p$DATABASE_PASSWORD} status >/dev/null 2>&1
|
|
101
|
+ while ! mysqladmin -uroot \${DATABASE_PASSWORD:+-p\$DATABASE_PASSWORD} status >/dev/null 2>&1
|
100
|
102
|
do
|
101
|
103
|
(( timeout = timeout - 1 ))
|
102
|
|
- if [ $timeout -eq 0 ]; then
|
|
104
|
+ if [ \$timeout -eq 0 ]; then
|
103
|
105
|
echo "Failed to start mysql server"
|
104
|
106
|
exit 1
|
105
|
107
|
fi
|
106
|
108
|
sleep 1
|
107
|
109
|
done
|
108
|
110
|
|
109
|
|
- if ! echo "USE ${DATABASE_NAME}" | mysql -uroot ${DATABASE_PASSWORD:+-p$DATABASE_PASSWORD} >/dev/null 2>&1; then
|
|
111
|
+ if ! echo "USE \${DATABASE_NAME}" | mysql -uroot \${DATABASE_PASSWORD:+-p\$DATABASE_PASSWORD} >/dev/null 2>&1; then
|
110
|
112
|
DB_INIT="yes"
|
111
|
|
- echo "CREATE DATABASE IF NOT EXISTS \`${DATABASE_NAME}\` DEFAULT CHARACTER SET \`utf8\` COLLATE \`utf8_unicode_ci\`;" | mysql -uroot ${DATABASE_PASSWORD:+-p$DATABASE_PASSWORD}
|
112
|
|
- echo "GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON \`${DATABASE_NAME}\`.* TO 'root'@'localhost';" | mysql -uroot ${DATABASE_PASSWORD:+-p$DATABASE_PASSWORD}
|
|
113
|
+ echo "CREATE DATABASE IF NOT EXISTS \\\`\${DATABASE_NAME}\\\` DEFAULT CHARACTER SET \\\`utf8\\\` COLLATE \\\`utf8_unicode_ci\\\`;" | mysql -uroot \${DATABASE_PASSWORD:+-p\$DATABASE_PASSWORD}
|
|
114
|
+ echo "GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON \\\`${DATABASE_NAME}\\\`.* TO 'root'@'localhost';" | mysql -uroot \${DATABASE_PASSWORD:+-p\$DATABASE_PASSWORD}
|
113
|
115
|
fi
|
114
|
116
|
fi
|
115
|
117
|
supervisorctl start huginn >/dev/null
|
|
|
@@ -135,15 +137,17 @@ EOF
|
135
|
137
|
|
136
|
138
|
cat <<FOREMAN > /tmp/foreman.sh
|
137
|
139
|
#!/bin/bash -xe
|
|
140
|
+source /app/.env
|
|
141
|
+
|
138
|
142
|
# Assuming we have a created database, run the migrations and seed it idempotently.
|
139
|
|
-[ -z "${DO_NOT_MIGRATE}" ] && sudo -u huginn -EH bundle exec rake db:migrate
|
140
|
|
-[ -z "${DO_NOT_SEED}" ] && sudo -u huginn -EH bundle exec rake db:seed
|
|
143
|
+[ -z "\${DO_NOT_MIGRATE}" ] && sudo -u huginn -EH bundle exec rake db:migrate
|
|
144
|
+[ -z "\${DO_NOT_SEED}" ] && sudo -u huginn -EH bundle exec rake db:seed
|
141
|
145
|
|
142
|
|
-[ -n "$INTENTIONALLY_SLEEP" ] && sleep $INTENTIONALLY_SLEEP
|
|
146
|
+[ -n "\$INTENTIONALLY_SLEEP" ] && sleep \$INTENTIONALLY_SLEEP
|
143
|
147
|
|
144
|
148
|
# Fixup the Procfile and prepare the PORT
|
145
|
|
-[ -n "${DO_NOT_RUN_JOBS}" ] && perl -pi -e 's/^jobs:/#jobs:/' /app/Procfile
|
146
|
|
-perl -pi -e 's/rails server$/rails server -p \$PORT/' /app/Procfile
|
|
149
|
+[ -n "\${DO_NOT_RUN_JOBS}" ] && perl -pi -e 's/^jobs:/#jobs:/' /app/Procfile
|
|
150
|
+perl -pi -e 's/rails server\$/rails server -p \\\$PORT/' /app/Procfile
|
147
|
151
|
export PORT
|
148
|
152
|
|
149
|
153
|
# Start huginn
|